<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>DirectResize</title>

<style type="text/css">
<!--
body {
	font: normal 10pt Tahoma;
	margin: 0 2em;
}
h1 {
	font-weight: normal;
}
h2 {
	font-weight: normal;
	font-size: 160%;
	margin-top: 1.4em;
}
h3{
	font-size:110%;
	margin-top: 2em;
}
textarea {
	font-size: 85%;
	font: normal 10pt Tahoma;
}
code {
	1font-family: "Courier new";
	1color:#000080;
}
ul{
	margin: 0px;
	padding: 0px 0px 0px 2em;
}
ol li {
	list-style-type: decimal;
}
ul li {
	list-style-type: square;
}
ul li li {
	list-style-type: disc;
}
td
{
	padding: 4px;
	border: 1px solid #CCC;
}
.theader{
	color: #999;
	text-align:center;
}
.label {
	color:#339966;
}

.depricated{
	color: red;
}

.var_name{
	color: #000;
	font-weight: bold;
}

.parm_name{
	color: #00F;
}

.config_name{
	color: #FF9900;
}

.placeholder{
	color:#666;
}

.warning{
	font-weight: bold;
}
-->
</style>
</head>
<body>
<h1>DirectResize 0.9.0 beta (Rev 5)</h1>
<h2><a name="descr" id="descr"></a>Описание</h2>
<p>Полностью настраиваемый плагин для  создания уменьшенных копий изображений (предпросмотров) и рядом других функций: автоматическое создание предпросмотра заданного размера, наложение водяных знаков, открытие увеличенного изображения с помощью ява-скриптовых библиотек, полностью настраиваемый шаблон для html-вывода,  работа в WYSIWYG-редакторе.</p>
<h3>Функции</h3>
<ul>
	<li>Возможность интеграции любых ява-скриптовых библиотек: Slidebox, Lightbox, Slimbox,  Highslide...</li>
	<li>Наложение водяных знаков (текст любым шрифтом или прозрачное png-изображение)</li>
	<li>Настройка плагина через config-файл с большим количеством параметров</li>
	<li>Полностью настраиваемый html-вывод</li>
	<li>Возможность применения плагина для изображений с удаленных серверов</li>
	<li>Предпросмотр для  WYSIWYG-редакторов</li>
	<li>Создания предпросмотра строго заданного размера с обрезкой при соблюдении пропорций изображения</li>
	<li>Кеширование генерируемых изображений</li>
	<li>Обработка изображений при помощи библиотеки <a href="#thanks">PHPThumb</a></li>
	<li>Поддержка форматов JPG, PNG, GIF</li>
</ul>
<h3>Сферы применения</h3>
<p>Почти в каждом проекте возникает потребность создания изображений заданного размера на основе исходных произвольного размера.</p>
<p>Плагин будет полезен в случаях, когда:</p>
<ul>
	<li> на основе исходного изображения требуется  создать новое изображение другого размера и/или с применением ряда дополнительных условий - наложение водяных знаков, поворот  (пока не реализовано), наложение маски (пока не реализовано), применение фильтров (пока не реализовано): черно-белое, сепия, резкость, размытие и т.д. </li>
	<li>на основе исходного изображения требуется создать уменьшенное изображение и открывать увеличенное изображение в новом окне или с применением ява-скриптовых модулей типа lightbox.</li>
</ul>
<h3>Использование плагина в режиме WYSIWYG</h3>
<p>Изначальной идеей для создания плагина была мечта о создании максимально простого  интерфейса управления сайтом, понятного обычному человеку, какими являются большинство клиентов. Во многом этому помогает замечательный плагин <a href="http://modxcms.com/ManagerManager-1565.html" target="_blank">ManagerManager</a>, который позволяет значительно видоизменить менеджерский интерфейс, исходя из конкретных потребностей.</p>
<p>Плагин DirectResize призван облегчить процесс создания предпросмотров заданного размера и увеличенных изображений в визуальном редакторе.</p>
<p>Обычный способ создания предпросмотра и увеличенного изображения через визуальный редактор:</p>
<ol>
	<li>создать в графическом редакторе 2 отдельных изображения: большое и  предпросмотр</li>
	<li>сохранить их на сервере в папке, доступной для визуального редактора</li>
	<li>вставить в редакторе предпросмотр и сделать гиперссылку на увеличенное изображение</li>
</ol>
<p>Ничего сложного для веб-разработчика... и совершенно невозможно объяснить клиенту, если ему требуется создание подобных изображений в тексте документа.</p>
<p>При помощи DirectResize действия сведены к минимуму:</p>
<ol>
	<li>вставить исходное изображение из визуального редактора в документ</li>
	<li>уменьшить исходное изображение в редакторе до размеров предпросмотра (мышью или при помощи опции вставки изображения)</li>
</ol>
<p>Остальное плагин сделает автоматически в соответствии с настройками из файла конфигурации.</p>
<p>В дальнейшем пользователь может как угодно редактировать документа и менять размеры вставленного изображения - каждый раз плагин будет генерировать новое изображение в соответствии с заданными размерами.</p>
<h2><a name="install" id="install"></a>Установка</h2>
<p><span class="warning">Внимание</span>: для работы DirectResize требуется PHP 5.</p>
<ul>
  <li>Распакуйте архив и скопируйте содержимое папки root из архива в корневую папку вашего сайта, все файлы скопируются в предназначенные им места:
    <ul>
      <li>папка directresize в папку assets/plugins/</li>
      <li>папка phpthumb в папку assets/snippets/</li>
      <li>файл image.php в корень сайта</li>
    </ul>
    </li>
  <li>Установить права на запись на папку assets/snippets/phpthumb/cache/, если вы используете <a href="#phpthumb_config">настройки PHPThumb</a> по-умолчанию</li>
  <li>Создайте новый плагин DirectResize и скопируйте в него содержимое файла directResize.plugin.txt</li>
  <li>В закладке &quot;Конфигурация&quot; в  поле &quot;Конфигурация плагина&quot; вставить </li>
</ul>
<p>&amp;config=Configuration;string;thickbox<br />
</p>
<ul>
	<li>В закладке &quot;Системные события&quot; отметить
      <ul>
        <li>OnWebPagePrerender</li>
        <li>OnBeforeDocFormSave</li>
        <li>OnDocFormPrerender</li>
      </ul>
	</li>
    <li><a href="#furl_config">Настроить дружественные URL</a> в файле .htaccess</li>
    <li>(опционально) <a href="#phpthumb_config">настроить PHPThumb</a> </li>
</ul>
<h2><a name="phpthumb_config" id="bindings_priority5"></a>Конфигурация PHPThumb</h2>
<p>В папке assets/snippets/phpthumb/ находятся файлы библиотеки <a href="http://phpthumb.sourceforge.net/" target="_blank">PHPThumb</a>. Файлы библиотеки размещены без каких либо модификаций, поэтому в случае необходимости вы можете самостоятельно скачивать с сайта разработчика новые версии.</p>
<p>Библиотека имеет множетсво параметров, связанных с генерацией изображений, кешированием, безопасностью, использованием Image Magick и т.п. DirectResize  работает с настройками по-умолчанию. При необходимости вы можете самостоятельно настроить  параметры библиотеки в файле assets/snippets/phpthumb/phpThumb.config.php (например, настроить папку assets/cache для кеширования изображений).</p>
<h2><a name="config" id="config"></a>Конфигурация плагина</h2>
<p>На странице редактирования плагина  в панели администратора, во вкладке
&quot;Конфигурация&quot; возможно указание <em>имени  конфигурации</em> плагина. Для настройки параметров используется <em>файл конфигурации</em>. Все файлы конфигурации расположены в папке плагина по адресу assets/plugins/directresize/configs/. Вы можете создавать свои собственные файлы конфигурации. Название файла конфигурации обязательно должно соответствовать шаблону <em>имя_конфигурации</em>.config.php.</p>
<h3><a name="packs" id="packs"></a>Стандартные пакеты конфигураций</h3>
<p>Плагин уже имеет в своем составе наборы  нескольких стандартных конфигураций, которые позволяют сразу же использовать плагин с различными ява-скриптовыми эффектами без каких либо настроек. Для того чтобы подключить одну из конфигураций, необходимо в закладке конфигурации плагина указать имя конфигурации. Возможные варианты:</p>
<table width="100%" border="0" cellpadding="0" cellspacing="1">
	<tr>
		<td width="17%" class="theader">имя конфигурации</td>
		<td width="21%" class="theader">используемый скрипт</td>
		<td width="23%" class="theader">версия  скрипта</td>
		<td width="39%" class="theader">используемый ява-скриптовый фреймворк</td>
	</tr>
	<tr>
		<td>fancybox</td>
		<td><a href="http://fancy.klade.lv/" target="_blank">Fancybox</a></td>
		<td>1.0.0</td>
		<td><a href="jquery.com" target="_blank">jQuery</a></td>
</tr>
	<tr>
		<td>highslide</td>
		<td><a href="http://highslide.com/" target="_blank">Highslide JS</a></td>
		<td>4.0.10</td>
		<td>-</td>
	</tr>
	<tr>
		<td>nyromodal</td>
		<td><a href="http://nyromodal.nyrodev.com/" target="_blank">nyroModal</a></td>
		<td>1.3.1</td>
		<td><a href="jquery.com" target="_blank">jQuery</a></td>
	</tr>
	<tr>
		<td>slimbox</td>
		<td><a href="http://www.digitalia.be/software/slimbox" target="_blank">Slimbox</a></td>
		<td>1.67</td>
		<td><a href="http://mootools.net" target="_blank">MooTools</a></td>
	</tr>
	<tr>
		<td>thickbox</td>
		<td><a href="http://jquery.com/demo/thickbox/" target="_blank">Thickbox</a></td>
		<td>3.1</td>
		<td><a href="jquery.com" target="_blank">jQuery</a></td>
	</tr>
	<tr>
		<td>weebbox</td>
		<td><a href="http://www.weebbox.com/" target="_blank">WeebBox</a></td>
		<td>0.3</td>
		<td><a href="http://www.prototypejs.org/" target="_blank">Prototype</a> + <a href="http://script.aculo.us" target="_blank">script.aculo.us</a></td>
	</tr>
</table>
<p>Дополнительные настройки производятся в файлах assets/plugins/directresize/configs/имя_конфигурации.config.php</p>
<h2>Параметры файла конфигурации</h2>
<p>В текущей версии  DirectResize параметры, используемые в файле конфигурации, были существенно пересмотрены и переименованы, хотя принципы использования параметров для настройки выходного кода и изображений остались прежними. </p>
<p>Параметры делятся на две части - глобальные <span class="var_name"> $dr_global </span>и локальные <span class="var_name">$dr_local</span>. </p>
<p>Глобальные параметры конфигурации определяют работу плагина в целом. </p>
<p>Одно из важнейших нововведений новой версии - <em>наборы параметров конфигурации</em>. Локальные параметры могут делится на именованые группы, называемые <em>набором параметров</em>. Вы можете использовать наборы параметров для того, чтобы на одни изображения применялись одни настройки плагина, а на другие - другие.</p>
<p>В файле конфигурации значения параметров устанавливаются следующим образом (не забывайте, что это по прежнему PHP, соблюдайте весь необходимый синтаксис):</p>
<p>Глобальные параметры:</p>
<p><span class="var_name">$dr_global</span><span class="parm_name">[&quot;имя_параметра&quot;]</span> = значение_параметра;</p>
<p>Локальные параметры: </p>
<p><span class="var_name">$dr_local</span><span class="parm_name">[&quot;имя_параметра&quot;]</span><span class="config_name">[&quot;имя_набора_параметров&quot;]</span> = значение_параметра;<br />
</p>
<p><span class="warning">Внимание:</span> Для любого локального параметра вслед за именем параметра обязательно
  должна быть указано имя набора параметров. Каждая локальная переменная <span
	class="var_name">$dr_local</span> должна иметь два индекса, первый - <span
	class="parm_name">[&quot;имя_параметра&quot;]</span>, второй - <span
	class="config_name">[&quot;имя_набора_параметров&quot;]</span>. Если вы не создаете различные группы настроек, в качестве имени набора должно быть указано зарезервированное имя набора параметров <span
	class="config_name">[&quot;all&quot;]</span>. </p>
<p><span class="var_name">$dr_local</span><span class="parm_name">[&quot;big_width&quot;]</span><span class="config_name">[&quot;all&quot;]</span> = 500;</p>
<p>Данное значение указанного параметра будет использоваться для всех изображений на сайте, если изображению не назначен другой набор параметров, отличный от <span class="config_name">[&quot;all&quot;]</span>. </p>
<p>Если какой-то из параметров не указан в файле конфигурации, его
  значение берется из начений по-умолчанию DirectResize. Значение
  параметров по-умолчанию указано в таблице параметров.</p>
<h3>Глобальные параметры конфигурации</h3>
<table width="100%" cellspacing="1" cellpadding="0" border="0">
  <thead>
  </thead>
  <tbody>
    <tr>
      <td width="20%" class="theader">параметр</td>
      <td width="15%" class="theader">возможные значения</td>
      <td width="15%" class="theader">значение по умолчанию</td>
      <td class="theader">описание</td>
    </tr>
    <tr>
      <td><span class="var_name">$dr_global</span><span
				class="parm_name">[&quot;path&quot;]</span></td>
      <td><ul>
        <li>список путей<br />
        </li>
      </ul></td>
      <td>&quot;assets/images/&quot;</td>
      <td><p>Указывает пути, для которых разрешено или запрещено
        обрабатывать изображения. Каждый путь с новой строки.</p>
          <p>Символ ! в
            начале строки говорит что данный путь является запрещающим. Возможно
            указание удаленных ресурсов.</p>
        <p>Пути, не указанные в параметре, являются запрещенными. <a href="#dr_global_path">Подробнее</a></p></td>
    </tr>
    <tr>
      <td><span class="var_name">$dr_global</span><span
				class="parm_name">[&quot;phpthumb_path&quot;]</span></td>
      <td><ul>
        <li>путь к PHPThumb</li>
      </ul></td>
      <td>&quot;assets/snippets/phpthumb/&quot;</td>
      <td>Путь к папке с файлами библиотеки PHPThumb</td>
    </tr>
    <tr>
      <td><span class="var_name">$dr_global</span><span
				class="parm_name">[&quot;bindings_priority&quot;]</span></td>
      <td><ul>
        <li>label, template, path разделенные запятыми в порядке
          приоритета</li>
      </ul></td>
      <td>&quot;label,css,template,path&quot;</td>
      <td><p>Порядок приоритета для определении имени набора параметров
        текущего изображения. <a href="#bindings_priority">Подробнее</a>.</p></td>
    </tr>
    <tr>
      <td><span class="var_name">$dr_global</span><span
				class="parm_name">[&quot;furl&quot;]</span></td>
      <td><ul>
        <li>true</li>
        <li>false</li>
      </ul></td>
      <td><p>true</p></td>
      <td>Разрешает использование <a href="#furl">дружественных URL</a> для
        генерируемых изображений</td>
    </tr>
    <tr>
      <td><span class="var_name">$dr_global</span><span
				class="parm_name">[&quot;furl_prefix&quot;]</span></td>
      <td>любой путь</td>
      <td>&quot;images/&quot;</td>
      <td>Виртуальных перфикс для подстановки в URL изображений при
        включенных дружественных URL</td>
    </tr>
  </tbody>
</table>
<h3>Локальные параметры конфигурации<br />
</h3>
<table width="100%" cellspacing="1" cellpadding="0" border="0">
  <tbody>
    <tr>
      <td width="24%" class="theader">параметр</td>
      <td width="13%" class="theader">возможные значения</td>
      <td width="13%" class="theader">значение по умолчанию</td>
      <td width="50%" class="theader">описание, пример</td>
    </tr>
    <tr>
      <td><span class="var_name">$dr_local</span><span
				class="parm_name">[&quot;tpl_thumb&quot;]</span></td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
      <td>Шаблон для форматирования выходного кода предпросмотра</td>
    </tr>
    <tr>
      <td><span class="var_name">$dr_local</span><span
				class="parm_name">[&quot;tpl_lightbox&quot;]</span></td>
      <td> </td>
      <td> </td>
      <td>Шаблон для форматирования выходного кода предпросмотра и увеличенного изображения</td>
    </tr>
    <tr>
      <td><span class="var_name">$dr_local</span><span
				class="parm_name">[&quot;header&quot;]</span></td>
      <td> </td>
      <td> </td>
      <td><p>HTML-код, размещаемый в теге &lt;head&gt;. Используется для
        подключения необходимых css и js файлов. </p>
          <p>Плагин размещает этот код только на тех
            страницах, на которых есть хотя бы одно изображение, обрабатываемое
            плагином.</p></td>
    </tr>
    <tr>
      <td><span class="var_name">$dr_local</span><span
				class="parm_name">[&quot;thumb_resize_method&quot;]</span></td>
      <td><ul>
        <li>0</li>
        <li>1</li>
        <li>2</li>
        <li>3</li>
      </ul></td>
      <td>0</td>
      <td><p>Метод изменения размера при генерации предпросмотра. Пропорции изображения сохраняются.</p>
          <ul>
            <li>0 - изображение обрезается строго под заданные высоту и ширину</li>
            <li>1 - по заданной ширине вычисляется
              высота  изображения</li>
            <li>2 - по заданной высоте вычисляется
              ширина изображения</li>
            <li>3 - изображение уменьшается таким образом чтобы не
              превышать заданные высоту и ширину</li>
          </ul></td>
    </tr>
    <tr>
      <td><span class="var_name">$dr_local</span><span
				class="parm_name">[&quot;crop_dir&quot;]</span></td>
      <td><ul>
          <li>BR</li>
        <li>BL</li>
        <li>TR</li>
        <li>TL</li>
        <li>C</li>
      </ul></td>
      <td>C</td>
      <td><p>Направление обрезки изображения, где B=bottom, T=top, L=left,
        R=right, C=center</p>
          <p>Например, C означает обрезку изображения от центра (обрезка краев). </p>
          <p>TL означает что горизонтальные изображения будут обрезаться справа, левая (L) часть остается, вертикальные снизу, верхняя (T) часть остается.</p></td>
    </tr>
    <tr>
      <td><span class="var_name">$dr_local</span><span
				class="parm_name">[&quot;big_width&quot;]</span></td>
      <td>положительное целое</td>
      <td>800</td>
      <td>Ширина большого изображения</td>
    </tr>
    <tr>
      <td><span class="var_name">$dr_local</span><span
				class="parm_name">[&quot;big_height&quot;]</span></td>
      <td>положительное целое</td>
      <td>600</td>
      <td>Высота большого изображения</td>
    </tr>
    <tr>
      <td><span class="var_name">$dr_local</span><span
				class="parm_name">[&quot;big_resize_method&quot;]</span></td>
      <td><ul>
        <li>0</li>
        <li>1</li>
        <li>2</li>
        <li>3</li>
      </ul></td>
      <td>3</td>
      <td><p>Метод изменения размера при генерации увеличенного изображения. Пропорции изображения сохраняются.</p>
          <ul>
            <li>0 - изображение обрезается строго под заданные высоту и ширину</li>
            <li>1 - по заданной ширине вычисляется
              высота  изображения</li>
            <li>2 - по заданной высоте вычисляется
              ширина изображения</li>
            <li>3 - изображение уменьшается таким образом чтобы не
              превышать заданные высоту и ширину</li>
          </ul></td>
    </tr>
    <tr>
      <td><span class="var_name">$dr_local</span><span
				class="parm_name">[&quot;thumb_quality&quot;]</span></td>
      <td>целое 1-95</td>
      <td>75</td>
      <td>jpeg-качество предпросмотра и предпросмотра для визуального редактора</td>
    </tr>
    <tr>
      <td><span class="var_name">$dr_local</span><span
				class="parm_name">[&quot;big_quality&quot;]</span></td>
      <td>целое 1-95</td>
      <td>75</td>
      <td>jpeg-качество  большого изображения</td>
    </tr>
    <tr>
      <td><span class="var_name">$dr_local</span><span
				class="parm_name">[&quot;thumbonly&quot;]</span></td>
      <td><ul>
          <li>true</li>
        <li>false</li>
      </ul></td>
      <td>false</td>
      <td>Если true, для всех изображений из данного набора параметров будет генерироваться только предпросмотр без увеличенного изображения</td>
    </tr>
    <tr>
      <td><span class="var_name">$dr_local</span><span
				class="parm_name">[&quot;skip&quot;]</span></td>
      <td><ul>
        <li>true</li>
        <li>false</li>
      </ul></td>
      <td>false</td>
      <td>Если true, все изображения из данного набора параметров не будут обрабатываться плагином</td>
    </tr>
    <tr>
      <td><span class="var_name">$dr_local</span><span
				class="parm_name">[&quot;thumb_width&quot;]</span></td>
      <td>положительное целое</td>
      <td>120</td>
      <td>Ширина предпросмотра по умолчанию</td>
    </tr>
    <tr>
      <td><span class="var_name">$dr_local</span><span
				class="parm_name">[&quot;thumb_height&quot;]</span></td>
      <td>положительное целое</td>
      <td>90</td>
      <td>Высота предпросмотра по умолчанию</td>
    </tr>
    <tr>
      <td><span class="var_name">$dr_local</span><span
				class="parm_name">[&quot;thumb_use_defaults&quot;]</span></td>
      <td><ul>
        <li>0</li>
        <li>1</li>
        <li>2</li>
        <li>3</li>
        <li>4</li>
      </ul></td>
      <td>0</td>
      <td><p>Правило для применения ширины и высоты предпросмотра по
        умолчанию.</p>
          <ul>
            <li>0 - ширина и высота по умолчанию не используются, размеры
              предпросмотра определяются исходя из указанных в исходном
              изображении</li>
            <li>1 - ширина и высота предпросмотра устанавливаются равными
              ширине и высоте по умолчанию (<span class="var_name">$dr_local</span><span
				class="parm_name">[&quot;thumb_width&quot;]</span> и<span class="var_name">$dr_local</span><span
				class="parm_name">[&quot;thumb_height&quot;]</span>),
              если у исходного изображения не заданы ни высота, ни ширина</li>
            <li>2 - ширина предпросмотра устанавливается равной ширине по
              умолчанию, если не задана ширина исходного изображения</li>
            <li>3 - высота предпросмотра устанавливается равной высота по
              умолчанию, если не задана высота исходного изображения</li>
            <li>4 - ширина и высота предпросмотра принудительно
              устанавливаются равными ширине и высоте по умолчанию независимо от
              того, заданы они в исходном изображении или нет</li>
          </ul>
        <p>Оокончательные размеры сгенерированного предпросмотра будут
      вычисляться в зависимости от <span class="var_name">$dr_local</span><span
				class="parm_name">[&quot;thumb_resize_method&quot;]</span></p></td>
    </tr>
  </tbody>
</table>
<h3>Локальные параметры конфигурации для привязки набора параметров с группой изображений</h3>
<table width="100%" border="0" cellpadding="0" cellspacing="1">
  <tbody>
    <tr>
      <td width="30%" class="theader">параметр</td>
      <td width="12%" class="theader">возможные значения</td>
      <td width="13%" class="theader">значение по умолчанию</td>
      <td width="45%" class="theader">описание, пример</td>
    </tr>
    <tr>
      <td><span class="var_name">$dr_local</span><span
				class="parm_name">[&quot;bind_config_to_path&quot;]</span></td>
      <td>путь</td>
      <td>false</td>
      <td>Привязка набора параметров к физическому раположению файла в структуре папок. <a href="#bindings">Подробнее</a></td>
    </tr>
    <tr>
      <td><span class="var_name">$dr_local</span><span
				class="parm_name">[&quot;bind_config_to_css_selector&quot;]</span></td>
      <td>css-селектор</td>
      <td>false</td>
      <td>Привязка набора параметров к расположению изображения в DOM-структуре. <a href="#bindings">Подробнее</a></td>
    </tr>
    <tr>
      <td><span class="var_name">$dr_local</span><span
				class="parm_name">[&quot;bind_config_to_document_template&quot;]</span></td>
      <td>ID шаблона документа</td>
      <td>false</td>
      <td>Привязка набора параметров к шаблону документа, обрабатываемого в данный момент.<a href="#bindings">Подробнее</a></td>
    </tr>
    <tr>
      <td><span class="var_name">$dr_local</span><span
				class="parm_name">[&quot;bindings_priority&quot;]</span></td>
      <td><ul>
        <li>label</li>
        <li>css</li>
        <li>template</li>
        <li>path</li>
        </ul>
      <p>в любом порядке, разделенные запятыми</p></td>
      <td>label,css,template,path</td>
      <td> Порядок приоритета при выборе имени набора параметров для изображения. <a href="#bindings_priority">Подробнее</a></td>
    </tr>
  </tbody>
</table>
<h3>Локальные параметры конфигурации для нанесения водяных знаков</h3>
<table width="100%" border="0" cellpadding="0" cellspacing="1">
  <tr>
    <td width="24%" class="theader">параметр</td>
    <td width="9%" class="theader">возможные значения</td>
    <td width="11%" class="theader">значение по умолчанию</td>
    <td width="16%" class="theader">используется для типов водяного знака</td>
    <td width="40%" class="theader">описание, пример</td>
  </tr>
  <tbody>
    <tr>
      <td><span class="var_name">$dr_local</span><span
				class="parm_name">[&quot;thumb_watermark_type&quot;]</span></td>
      <td><ul>
        <li>false</li>
        <li>&quot;text&quot;</li>
        <li>&quot;image&quot;</li>
      </ul></td>
      <td>false</td>
      <td>&nbsp;</td>
      <td>Использовать водяные знаки для предпросмотров, где false - не использовать, text - текст, image - изображение</td>
    </tr>
    <tr>
      <td><span class="var_name">$dr_local</span><span
				class="parm_name">[&quot;thumb_watermark_align&quot;]</span></td>
      <td><ul>
        <li>BR</li>
        <li>BL</li>
        <li>TR</li>
        <li>TL</li>
        <li>C</li>
        <li>R</li>
        <li>L</li>
        <li> T</li>
        <li>B</li>
        <li>*</li>
      </ul></td>
      <td>BR</td>
      <td><ul>
        <li>text</li>
        <li>image</li>
      </ul></td>
      <td>Выравнимание водяного знака, где B=низ, T=верх, L=влево, R=вправо,<br />
        C=по центру, *=размножить<br />
        *  не работает со встроенным шрифтом<br />
        или<br />
        абсолютная позиция в пикселах(от верхрнего левого угла)<br />
        в формате {смещение по x}x{смещение по y} (т.е.: &quot;10x20&quot;) </td>
    </tr>
    <tr>
      <td><span class="var_name">$dr_local</span><span
				class="parm_name">[&quot;thumb_watermark_margin&quot;]</span></td>
      <td>XxY</td>
      <td>5x5</td>
      <td><ul>
        <li>text</li>
        <li>image</li>
      </ul></td>
      <td>отстутп в пикселах от края в формате {отступ по x}x{отступ по y} </td>
    </tr>
    <tr>
      <td><span class="var_name">$dr_local</span><span
				class="parm_name">[&quot;thumb_watermark_text&quot;]</span></td>
      <td>текст</td>
      <td>Filesize: ^Fkkb</td>
      <td><ul>
        <li>text</li>
      </ul></td>
      <td><p>Текст водяного знака. Возможно использование ключевых слов для замены на соотвествующее значение:</p>
          <p> ^Fb = размер исходного изображения в байтах<br />
            ^Fk = размер исходного изображения в килобайтах<br />
            ^Fm = размер исходного изображения в мегабайтах<br />
            ^X  = ширина исходного изображения в пикселах<br />
            ^Y  = высота исходного изображения в пикселах<br />
            ^x  = ширина сгенерированного изображения в пикселах<br />
            ^y  = высота сгенерированного изображения в пикселах<br />
      ^^  = знак ^</p></td>
    </tr>
    <tr>
      <td><span class="var_name">$dr_local</span><span
				class="parm_name">[&quot;thumb_watermark_text_color&quot;]</span></td>
      <td> 16-ричный RGB цвет</td>
      <td>FFFFFF</td>
      <td><ul>
        <li>text</li>
      </ul></td>
      <td>цвет текста </td>
    </tr>
    <tr>
      <td><span class="var_name">$dr_local</span><span
				class="parm_name">[&quot;thumb_watermark_font_size&quot;]</span></td>
      <td>целое</td>
      <td>5</td>
      <td><ul>
        <li>text</li>
      </ul></td>
      <td>размер шрифта (1-5 для системного, или размер в пунктах для TrueType)</td>
    </tr>
    <tr>
      <td><span class="var_name">$dr_local</span><span
				class="parm_name">[&quot;thumb_watermark_bg_color&quot;]</span></td>
      <td>16-ричный RGB цвет</td>
      <td>-</td>
      <td><ul>
        <li>text</li>
      </ul></td>
      <td>цвет фона</td>
    </tr>
    <tr>
      <td><span class="var_name">$dr_local</span><span
				class="parm_name">[&quot;thumb_watermark_bg_opacity&quot;]</span></td>
      <td>целое 0-100</td>
      <td>100</td>
      <td><ul>
        <li>text</li>
      </ul></td>
      <td>прозрачность фона от 0 (прозрачен) до 
        100 (непрозрачен)</td>
    </tr>
    <tr>
      <td><span class="var_name">$dr_local</span><span
				class="parm_name">[&quot;thumb_watermark_bg_directions&quot;]</span></td>
      <td><ul>
        <li>x</li>
        <li>y</li>
        <li>xy</li>
      </ul></td>
      <td>&nbsp;</td>
      <td><ul>
        <li>text</li>
      </ul></td>
      <td>направление(я) в которых размножается фон ( 'x' или 'y' или оба, но тогда фон полностью закроен изображение)<br />
        Внимание: работает только TTF-шрифтом, не работает со встроенным</td>
    </tr>
    <tr>
      <td><span class="var_name">$dr_local</span><span
				class="parm_name">[&quot;thumb_watermark_ttf_file&quot;]</span></td>
      <td>путь</td>
      <td>false</td>
      <td><ul>
        <li>text</li>
      </ul></td>
      <td><p>путь к файлу TTF-шрифта (опционально, если отстутствует, используется встроенный шрифт)</p>
      <p>Внимание: встроенный шрифт поддерживает только ASCII-символы</p>
      </td>
    </tr>
    <tr>
      <td><span class="var_name">$dr_local</span><span
				class="parm_name">[&quot;thumb_watermark_opacity&quot;]</span></td>
      <td>целое 0-100</td>
      <td>100</td>
      <td><ul>
        <li>text</li>
        <li>image</li>
      </ul></td>
      <td>прозрачность водяного знака от 0 (прозрачен) дo 
        100 (непрозрачен)<br />
(требует PHP v4.3.2, иначе 100% непрозрачен)</td>
    </tr>
    <tr>
      <td><span class="var_name">$dr_local</span><span
				class="parm_name">[&quot;thumb_watermark_rotation&quot;]</span></td>
      <td>целое</td>
      <td>0</td>
      <td><ul>
        <li>text</li>
        <li>image</li>
      </ul></td>
      <td>угол поворота водяного знака</td>
    </tr>
    <tr>
      <td><span class="var_name">$dr_local</span><span
				class="parm_name">[&quot;thumb_watermark_img&quot;]</span></td>
      <td>путь к PNG изображению</td>
      <td>&nbsp;</td>
      <td><ul>
        <li>image</li>
      </ul></td>
      <td>путь к изображению для наложения в качестве водяного знака</td>
    </tr>
  </tbody>
</table>
<table width="100%" border="0" cellpadding="0" cellspacing="1">
  <tr>
    <td width="24%" class="theader">параметр</td>
    <td width="9%" class="theader">возможные значения</td>
    <td width="11%" class="theader">значение по умолчанию</td>
    <td width="16%" class="theader">используется для типов водяного знака</td>
    <td width="40%" class="theader">описание, пример</td>
  </tr>
  <tbody>
    <tr>
      <td><span class="var_name">$dr_local</span><span
				class="parm_name">[&quot;big_watermark_type&quot;]</span></td>
      <td><ul>
        <li>false</li>
        <li>&quot;text&quot;</li>
        <li>&quot;image&quot;</li>
      </ul></td>
      <td>false</td>
      <td>&nbsp;</td>
      <td>Использовать водяные знаки для большого изображения, где false - не использовать, text - текст, image - изображение</td>
    </tr>
    <tr>
      <td><span class="var_name">$dr_local</span><span
				class="parm_name">[&quot;big_watermark_align&quot;]</span></td>
      <td><ul>
        <li>BR</li>
        <li>BL</li>
        <li>TR</li>
        <li>TL</li>
        <li>C</li>
        <li>R</li>
        <li>L</li>
        <li> T</li>
        <li>B</li>
        <li>*</li>
      </ul></td>
      <td>BR</td>
      <td><ul>
        <li>text</li>
        <li>image</li>
      </ul></td>
      <td>Выравнимание водяного знака, где B=низ, T=верх, L=влево, R=вправо,<br />
        C=по центру, *=размножить<br />
        *  не работает со встроенным шрифтом<br />
        или<br />
        абсолютная позиция в пикселах(от верхрнего левого угла)<br />
        в формате {смещение по x}x{смещение по y} (т.е.: &quot;10x20&quot;) </td>
    </tr>
    <tr>
      <td><span class="var_name">$dr_local</span><span
				class="parm_name">[&quot;big_watermark_margin&quot;]</span></td>
      <td>XxY</td>
      <td>5x5</td>
      <td><ul>
        <li>text</li>
        <li>image</li>
      </ul></td>
      <td>отстутп в пикселах от края в формате {отступ по x}x{отступ по y} </td>
    </tr>
    <tr>
      <td><span class="var_name">$dr_local</span><span
				class="parm_name">[&quot;big_watermark_text&quot;]</span></td>
      <td>текст</td>
      <td>Filesize: ^Fkkb</td>
      <td><ul>
        <li>text</li>
      </ul></td>
      <td><p>Текст водяного знака. Возможно использование ключевых слов для замены на соотвествующее значение:</p>
          <p> ^Fb = размер исходного изображения в байтах<br />
            ^Fk = размер исходного изображения в килобайтах<br />
            ^Fm = размер исходного изображения в мегабайтах<br />
            ^X  = ширина исходного изображения в пикселах<br />
            ^Y  = высота исходного изображения в пикселах<br />
            ^x  = ширина сгенерированного изображения в пикселах<br />
            ^y  = высота сгенерированного изображения в пикселах<br />
            ^^  = знак ^</p></td>
    </tr>
    <tr>
      <td><span class="var_name">$dr_local</span><span
				class="parm_name">[&quot;big_watermark_text_color&quot;]</span></td>
      <td> 16-ричный RGB цвет</td>
      <td>FFFFFF</td>
      <td><ul>
        <li>text</li>
      </ul></td>
      <td>цвет текста </td>
    </tr>
    <tr>
      <td><span class="var_name">$dr_local</span><span
				class="parm_name">[&quot;big_watermark_font_size&quot;]</span></td>
      <td>целое</td>
      <td>5</td>
      <td><ul>
        <li>text</li>
      </ul></td>
      <td>размер шрифта (1-5 для системного, или размер в пунктах для TrueType)</td>
    </tr>
    <tr>
      <td><span class="var_name">$dr_local</span><span
				class="parm_name">[&quot;big_watermark_bg_color&quot;]</span></td>
      <td>16-ричный RGB цвет</td>
      <td>-</td>
      <td><ul>
        <li>text</li>
      </ul></td>
      <td>цвет фона</td>
    </tr>
    <tr>
      <td><span class="var_name">$dr_local</span><span
				class="parm_name">[&quot;big_watermark_bg_opacity&quot;]</span></td>
      <td>целое 0-100</td>
      <td>100</td>
      <td><ul>
        <li>text</li>
      </ul></td>
      <td>прозрачность фона от 0 (прозрачен) до 
        100 (непрозрачен)<br />
        (требует PHP v4.3.2, иначе 100% непрозрачен)</td>
    </tr>
    <tr>
      <td><span class="var_name">$dr_local</span><span
				class="parm_name">[&quot;big_watermark_bg_directions&quot;]</span></td>
      <td><ul>
        <li>x</li>
        <li>y</li>
        <li>xy</li>
      </ul></td>
      <td>&nbsp;</td>
      <td><ul>
        <li>text</li>
      </ul></td>
      <td>направление(я) в которых размножается фон ( 'x' или 'y' или оба, но тогда фон полностью закроен изображение)<br />
        Внимание: работает только TTF-шрифтом, не работает со встроенным</td>
    </tr>
    <tr>
      <td><span class="var_name">$dr_local</span><span
				class="parm_name">[&quot;big_watermark_ttf_file&quot;]</span></td>
      <td>путь</td>
      <td>false</td>
      <td><ul>
        <li>text</li>
      </ul></td>
      <td><p>путь к файлу TTF-шрифта (опционально, если отстутствует, используется встроенный шрифт)</p>
          <p>Внимание: встроенный шрифт поддерживает только ASCII-символы</p></td>
    </tr>
    <tr>
      <td><span class="var_name">$dr_local</span><span
				class="parm_name">[&quot;big_watermark_opacity&quot;]</span></td>
      <td>целое 0-100</td>
      <td>100</td>
      <td><ul>
        <li>text</li>
        <li>image</li>
      </ul></td>
      <td>прозрачность водяного знака от 0 (прозрачен) дo 
        100 (непрозрачен)</td>
    </tr>
    <tr>
      <td><span class="var_name">$dr_local</span><span
				class="parm_name">[&quot;big_watermark_rotation&quot;]</span></td>
      <td>целое</td>
      <td>0</td>
      <td><ul>
        <li>text</li>
        <li>image</li>
      </ul></td>
      <td>угол поворота водяного знака</td>
    </tr>
    <tr>
      <td><span class="var_name">$dr_local</span><span
				class="parm_name">[&quot;big_watermark_img&quot;]</span></td>
      <td>путь к PNG изображению</td>
      <td>&nbsp;</td>
      <td><ul>
        <li>image</li>
      </ul></td>
      <td>путь к изображению для наложения в качестве водяного знака</td>
    </tr>
  </tbody>
</table>
<h3><a name="dr_global_path" id="bindings_priority3"></a>Параметр для указания путей обработки изображений <span class="var_name">$dr_global</span><span class="parm_name">[&quot;path&quot;]</span></h3>
<p>В новой версии DirectResize серия параметров, отвечающих за определение папок, в которых плагину разрешено или запрещено обрабатывать изображения, были объеденены в один. Каждый путь должен быть указан отдельной строкой. Знак ! вначале строки говорит о запрещении обработки изображений по данному пути. Возможно указание удаленных ресурсов.</p>
<pre><span class="var_name">$dr_global</span><span class="parm_name">[&quot;path&quot;]</span> = &quot;
assets/images
!assets/images/news
http://
!http://modxcms.com
!http://google.com
&quot;;
</pre>
<p>Указание  протокола http:// https:// ftp:// без указания имени сервера позволяет или запрещает использование изображений на всех удаленных ресурсах по данному протоколу.</p>
<p>Следующие пути к изображениям на текущем сервере эквиваленты между собой</p>
<ul>
  <li>assets/images/</li>
  <li>/assets/images</li>
  <li> http://myserver.com/assets/images</li>
</ul>
<p>Любое разрешающее или запрещающее правило, указанное в параметре <span class="var_name">$dr_global</span><span class="parm_name">[&quot;path&quot;]</span> действует на все подпапки на всю глубину вложенности до тех пор, пока не будет отменено другим правилом. </p>
<p>Например для правил</p>
<pre><span class="var_name">$dr_global</span><span class="parm_name">[&quot;path&quot;]</span> = &quot;
assets/images/
assets/images/news/world/
!assets/images/news/
&quot;;
</pre>
<p>изображения в папке</p>
<table width="100%" border="0" cellpadding="0" cellspacing="1">
  <tbody>
    <tr>
      <td>assets/images/</td>
      <td>будут обработаны</td>
      <td>разрешающее правило assets/images/</td>
    </tr>
    <tr>
      <td>assets/images/articles/</td>
      <td>будут обработаны</td>
      <td>разрешающее правило assets/images/</td>
    </tr>
    <tr>
      <td>assets/images/news/ </td>
      <td><span class="depricated">не будут обработаны</span></td>
      <td>запрещающее правило !assets/images/news/</td>
    </tr>
    <tr>
      <td>assets/images/news/world/</td>
      <td>будут обработаны</td>
      <td>запрещающее правило !assets/images/news/ отменяется разрешающим правилом assets/images/news/world/</td>
    </tr>
    <tr>
      <td>assets/images/news/local/</td>
      <td><span class="depricated">не будут обработаны</span></td>
      <td>запрещающее правило !assets/images/news/</td>
    </tr>
  </tbody>
</table>
<p>Порядок указания путей в параметре <span class="var_name">$dr_global</span><span class="parm_name">[&quot;path&quot;]</span> не имеет значения.</p>
<p><strong>Внимание</strong>: параметр <span class="var_name">$dr_global</span><span class="parm_name">[&quot;path&quot;]</span> является главным в работе DirectResize. Плагин будет обрабатывать только пути, разрешенные в данном параметре. Никакие другие параметры конфигурации не могут отменить или дополнить правила, указанные в <span class="var_name">$dr_global</span><span class="parm_name">[&quot;path&quot;]</span>.</p>
<h3><a name="bindings" id="bindings"></a>Привязки</h3>
<p>В дополнение к наборам параметров конфигураций, в новой версии DirectResize существует несколько параметров для связывания наборов параметров с группами изображений. Этот механизм позволяет гибко управлять генерацией изображений в зависимости от ситуации.</p>
<p>Параметр <span class="var_name">$dr_local</span><span class="parm_name">[&quot;bind_config_to_path&quot;]</span> позволяет связать некоторый физический путь расположения изображений с набором параметров.</p>
<p>Например можно задать в файле конфигурации</p>
<pre><span class="var_name">$dr_local</span><span class="parm_name">[&quot;bind_config_to_path&quot;]</span><span class="config_name">[&quot;myconfig&quot;]</span> = &quot;assets/images/news&quot;;
<span class="var_name">$dr_local</span><span class="parm_name">[&quot;thumb_width&quot;]</span><span class="config_name">[&quot;myconfig&quot;]</span> = 120;
<span class="var_name">$dr_local</span><span class="parm_name">[&quot;thumb_height&quot;]</span><span class="config_name">[&quot;myconfig&quot;]</span> = 90;
...
</pre>
<p>и тем самым привязать группу определенных параметров ко всем изображениям из папки assets/images/news</p>
<p>Еще один способ связывания наборов параметров с группой изображений основан на шаблоне обрабатываемого документа. Параметр <span class="var_name">$dr_local</span><span class="parm_name">[&quot;bind_config_to_document_template&quot;]</span> позволяет привязать изображения из документа с определенным шаблоном к набору параметров.</p>
<p>Аналогично предыдущему примеру, для документа с шаблоном  id = 3.</p>
<pre><span class="var_name">$dr_local</span><span class="parm_name">[&quot;bind_config_to_document_template&quot;]</span><span class="config_name">[&quot;news&quot;]</span> = 3;
<span class="var_name">$dr_local</span><span class="parm_name">[&quot;watermark_type&quot;]</span><span class="config_name">[&quot;news&quot;]</span> = &quot;text&quot;;
<span class="var_name">$dr_local</span><span class="parm_name">[&quot;watermark_text&quot;]</span><span class="config_name">[&quot;news&quot;]</span> = &quot;News image&quot;;
... </pre>
<p>позволяет привязать группу параметров ко всем изображениям, расположенным в документах, имеющих шаблон  id = 3</p>
<p>Параметр <span class="var_name">$dr_local</span><span class="parm_name">[&quot;bind_config_to_css_selector&quot;]</span> позволяет привязать набор параметров к группе изображений, основываясь на положении  изображений в DOM-структуре.</p>
<p>Например</p>
<pre><span class="var_name">$dr_local</span><span class="parm_name">[&quot;bind_config_to_css_selector&quot;]</span><span class="config_name">[&quot;frontend_editor&quot;]</span> = &quot;#tinymce img&quot;;
<span class="var_name">$dr_local</span><span class="parm_name">[&quot;skip&quot;]</span><span class="config_name">[&quot;frontend_editor&quot;]</span> = true;<span class="var_name"></span></code>
</pre>
<p>пропускает обработку всех изображений, находящихся внутри тега с id=&quot;tinymce&quot;. Удобно при использовании редактора TinyMCE во фронтенде сайта - плагин не будет обрабатывать теги изображений при редактировании кода визуальным редактором.</p>
<p>В данном параметре вы можете использовать jQuery-подобный синтаксис для выбора нужных изображений. </p>
<p><span class="warning">Внимание:</span> конечным тегом css-селектора обязательно должен быть тег img.</p>
<p>Несколько примеров css-селекторов:</p>
<table width="100%" border="0" cellpadding="0" cellspacing="1">
  <tbody>
    <tr>
      <td width="25%">div.testing img</td>
      <td width="75%">изображения, находящиеся внутри тега DIV с аттрибутом class=&quot;testing&quot;</td>
    </tr>
    <tr>
      <td>p img[class=my_image]</td>
      <td>изображения с аттрибутом class=&quot;my_image&quot;, находящиеся внутри тега P</td>
    </tr>
    <tr>
      <td>div img, p img</td>
      <td>изображения, находящиеся внутри тегов P или DIV</td>
    </tr>
    <tr>
      <td>div p[id=images] img</td>
      <td>изображения, находящиеся внутри тега P с id=&quot;images&quot;, который в свою очередь находится внутри тега DIV</td>
    </tr>
  </tbody>
</table>
<p>Более подробно о возможных селекторах можно почитать по ссылке <a href="http://simplehtmldom.sourceforge.net/manual.htm#section_find" target="_blank">http://simplehtmldom.sourceforge.net/manual.htm#section_find</a></p>
<p><strong>Внимание: </strong>во всех случаях, пути изображений по прежнему должны соответствовать правилам, указанным в параметре <span class="var_name">$dr_global</span><span class="parm_name">[&quot;path&quot;]</span>. Указание любого пути в <span class="var_name">$dr_local</span><span class="parm_name">[&quot;bind_config_to_path&quot;]</span> не делает этот путь разрешенным, если он запрещен в <span class="var_name">$dr_global</span><span class="parm_name">[&quot;path&quot;]</span>.</p>
<h3><a name="bindings_priority" id="bindings_priority"></a>Параметр <span class="var_name">$dr_global</span><span class="parm_name">[&quot;bindings_priority&quot;]</span></h3>
<p>Существует несколько способов привязки набора параметров к изображению:</p>
<ul>
  <li>если изображение помечено меткой <span class="label">drlabel</span></li>
  <li>если изображение находится в пути, указанном в параметре <span class="var_name">$dr_local</span><span class="parm_name">[&quot;bind_config_to_path&quot;]</span></li>
  <li>если изображение принадлежит документу, имеющему шаблон, указанный в параметре <span class="var_name">$dr_local</span><span class="parm_name">[&quot;bind_config_to_document_template&quot;]</span></li>
  <li>если изображение находится внутри html-тега, указанного в параметре <span class="var_name">$dr_local</span><span class="parm_name">[&quot;bind_config_to_css_selector&quot;]</span></li>
</ul>
<p>Изображение может попасть по действие сразу нескольких наборов параметров, однако применен будет только один из них. </p>
<p>Параметр <span class="var_name">$dr_global</span><span class="parm_name">[&quot;bindings_priority&quot;]</span> указывает порядок при  выборе набора параметров. В параметре должны быть перечислены ключевые слова в порядке приоритета, разделенные запятыми. Если изображение попадает под действие нескольких правил - выбрано будет первое в спике <span class="var_name">$dr_global</span><span class="parm_name">[&quot;bindings_priority&quot;].</span></p>
<p>Ключевые слова для параметра <span class="var_name">$dr_global</span><span class="parm_name">[&quot;bindings_priority&quot;]</span>:</p>
<ul>
  <li>label - приоритет метки drlabel</li>
  <li>css - приоритет параметра <span class="var_name">$dr_local</span><span class="parm_name">[&quot;bind_config_to_css_selector&quot;]</span></li>
  <li>path - приоритет параметра <span class="var_name">$dr_local</span><span class="parm_name">[&quot;bind_config_to_path&quot;]</span></li>
  <li>template - приоритет параметра <span class="var_name">$dr_local</span><span class="parm_name">[&quot;bind_config_to_document_template&quot;]</span></li>
</ul>
<p>По умолчанию параметр <span class="var_name">$dr_global</span><span class="parm_name">[&quot;bindings_priority&quot;]</span> имеет значение &quot;label,css,template,path&quot;. Это означает, что если изображение попадает под действие нескольких правил, то при наличии у изображения метки <span class="label">drlabel</span>, будет выбрано имя набора параметров, указанное в метке. При отсутствии у изображения метки, но совпадении по параметру <span class="var_name">$dr_local</span><span class="parm_name">[&quot;bind_config_to_css_selector&quot;]</span> будет выбрано имя набора параметров, основанное на css-селекторе, указанного в параметре. И т.д.</p>
<p>Вы можете переопределить эти приоритеты. Такое поведение удобно, если вы решили изменить логику применения наборов параметров для обработки изображений на вашем сайте. Пусть изначально некоторые изображения на сайте были помечены метками <span class="label">drlabe_someconfig</span> для применения набора параметров <span class="config_name">[&quot;someconfig&quot;]</span>. Спустя какое-то время вы решили разделить изображения по папкам и применять настройки исходя из физического расположения файлов. </p>
<p>В этом случае вам придется найти и удалить все  метки <span class="label">drlabe_someconfig</span>, иначе старые настройки будут перекрывать новые правила, привязанные к путям. В данном случае будет удобно переопределить приоритетность, поставив правило path перед правилом label в <span class="var_name">$dr_global</span><span class="parm_name">[&quot;bindings_priority&quot;]</span>: <span class="var_name">$dr_global</span><span class="parm_name">[&quot;bindings_priority&quot;]</span> = &quot;path,label,css,template&quot;; Тогда уже не важно, имеют изображения по указанным путям метку <span class="label">drlabel</span> или нет.</p>
<h3>Локальные параметры конфигурации: собственные параметры вызова PHPThumb</h3>
<p>DirectResize использует библиотеку PHPThumb для генерации изображений. PHPThumb имеет огромное количество различных возможностей по управлению изображениями:  фильтры, наложение масок, рамки и т.д. Лишь некоторая часть этих возможностей доступна через локальные параметры DirectResize в данный момент.</p>
<p>Поэтому вы можете напрямую добавлять параметры PHPThumb при генерации предпросмотров и увеличенных изображений. Подробнее о параметрах PHPThumb вы можете прочитать в файле /assets/snippets/phpthumb/docs/phpthumb.readme.txt </p>
<p class="warning">Синтаксис: </p>
<p>Применение параметра только на предпросмотры:</p>
<pre><span class="var_name">$dr_local</span><span class="parm_name">[&quot;thumb_phpthumb_parms&quot;]</span><span class="config_name">[&quot;имя_конфигурации&quot;]</span>[&quot;имя_параметра_phpthumb&quot;] = значения_параметра; </pre>
<p>Применение параметра только на  на увеличенное изображение:</p>
<pre><span class="var_name">$dr_local</span><span class="parm_name">[&quot;big_phpthumb_parms&quot;]</span><span class="config_name">[&quot;имя_конфигурации&quot;]</span>[&quot;имя_параметра_phpthumb&quot;] = значения_параметра;</pre>
<p class="warning">Пример 1: вызов строкового параметра</p>
<p>Применим параметр <span class="var_name">ra</span> для поворота предпросмотра. Из описания параметров - ra = Rotate by Angle: angle of rotation in degrees,
  positive = counterclockwise, negative = clockwise.</p>
<pre><span class="var_name">$dr_local</span><span class="parm_name">[&quot;thumb_phpthumb_parms&quot;]</span><span class="config_name">[&quot;all&quot;]</span>[&quot;ra&quot;] = 90;
</pre>
<p>Этот вызов будет транслирован в параметры PHPThumb и добавлен к остальным параметрам вызова</p>
<pre>&amp;ra=90
 </pre>
<p class="warning">Пример 2: вызов параметра как массива</p>
<p>Самый интерестный параметр PHPThumb - <span class="var_name">fltr</span>. Он позволяет применить множество фильтров на изображение. Т.к. на одно изображение может быть наложено несколько фильтров, <span class="warning">параметр должен передаваться как массив</span>.</p>
<p>Применим на увеличенное изображение серию фильтров:</p>
<p><span class="var_name">sep</span> (Sepia) [ex: &amp;fltr[]=sep|&lt;value&gt;|&lt;color&gt;]
  where &lt;value&gt; is a number between 0 and 100 for the 
  amount of colorization and &lt;color&gt; is
  the hex color to colorize to. </p>
<p>и </p>
<p><span class="var_name">blur</span> (Blur) [ex: &amp;fltr[]=blur|&lt;radius&gt;]
  where (0 &lt; &lt;radius&gt; &lt; 25) (default = 1) </p>
<pre><span class="var_name">$dr_local</span><span class="parm_name">[&quot;big_phpthumb_parms&quot;]</span><span class="config_name">[&quot;all&quot;]</span>[&quot;fltr&quot;][] = &quot;sep|50|A28065&quot;;

<span class="var_name">$dr_local</span><span class="parm_name">[&quot;big_phpthumb_parms&quot;]</span><span class="config_name">[&quot;all&quot;]</span>[&quot;fltr&quot;][] = &quot;blur|3&quot;;
</pre>
<p>Этот вызов будет транслирован в параметры PHPThumb</p>
<pre>&amp;fltr[]=sep|50|A28065&amp;fltr[]=blur|3</pre>
<h2>Шаблоны и подстановщики</h2>
<p>По сравнению с версией 0.8 обработка шаблонов была переработана. Шаблон был разделен на две части - отдельно шаблон для предпросмотра, отдельно шаблон для увеличенного изображения.</p>
<p>В версии 0.8 невозможно было настроить выходной код, в случае когда генерировался только предпросмотр без увеличенного изображения. Код генерировался полностью на основании исходного кода изображения, плагин лишь заменял путь к исходному изображению в аттрибуте src на путь к сгенерированному предпросмотру, подставляя расчитанные width и height. Остальные аттрибуты изображения оставались неизменными - невозможно было что-то добавить или изменить.</p>
<p>В новой версии возможна полная настройка для выходного кода генерируемого предпросмотра. Для этого создан отдельный параметр для настройки шаблона предпросмотра <span class="var_name">$dr_local</span><span class="parm_name">[&quot;tpl_thumb&quot;]</span>. Теперь для предпросмотра можно добавлять дополнительную HTML-разметку.</p>
<p>Например, из исходного кода изображения:</p>
<pre>&lt;img src=&quot;assets/images/myimage.jpg&quot; width=&quot;100&quot; class=&quot;my_css_class&quot; title=&quot;My image title&quot; /&gt;</pre>
<p>и шаблона:</p>
<pre><span class="var_name">$dr_local</span><span class="parm_name">[&quot;tpl_thumb&quot;]</span><span class="config_name">[&quot;all&quot;]</span> = '
&lt;div class=&quot;<span class="placeholder">[+dr.source.class+]</span>&quot;&gt;
	&lt;img src=&quot;<span class="placeholder">[+dr.thumb.src+]</span>&quot; width=&quot;<span class="placeholder">[+dr.thumb.width+]</span>&quot; height=&quot;<span class="placeholder">[+dr.thumb.height+</span>]&quot; /&gt;
	&lt;span&gt;<span class="placeholder">[+dr.source.title+]</span>&lt;/span&gt;
&lt;/div&gt;
';</pre>
<p>получим выходной код предпросмотра:</p>
<pre><span class="var_name"></span>
&lt;div class=&quot;my_css_class&quot;&gt;
	&lt;img src=&quot;some_path/thumb_myimage.jpg&quot; width=&quot;100&quot; height=&quot;50&quot; /&gt;
	&lt;span&gt;My image title&lt;/span&gt;
&lt;/div&gt;</pre>
<p>Мы можем полностью настроить вид генерируемого предпросмотра. Как видите, несмотря на то, что аттрибут height отстутсвует в исходном коде, его значение было расчитано плагином и подставлено в выходной код в соответствии с шаблоном. <br />
</p>
<p>Если необходимо просто получить предпросмотр для  изображения, так же, как и в версии 0.8, без настройки шаблона - вы можете  оставить шаблон пустым (или использовать <em>сокращение</em> <span class="placeholder">[+dr.shortcut.source2thumb+]</span> <a href="#shortcuts">подробнее</a>).</p>
<p>Из предыдущего примера, если шаблон <span class="var_name">$dr_local</span><span class="parm_name">[&quot;tpl_thumb&quot;]</span><span class="config_name">[&quot;all&quot;]</span> пуст или отсутствует в файле конфигурации, выходной код будет:</p>
<pre>&lt;img src=&quot;some_path/thumb_myimage.jpg&quot; width=&quot;100&quot; class=&quot;my_css_class&quot; title=&quot;My image title&quot; /&gt;</pre>
<p>Плагин  заменит путь с исходного изображения на сгенерированный предпросмотр и при необходимости пересчитает и заменит width и height, если данные аттрибуты присутствуют в исходном коде. В данном случае DirectResize не добавляет в выходной код никакой дополнительной разметки - если каких-то аттрибутов нет в исходном изображении, их не будет и в выходном.</p>
<p><strong>Внимание:</strong> Используйте в шаблонах только валидный HTML код, обязательно заключайте значения аттрибутов в двойные или одинарные кавычки. Плагин использует кавычки в регулярных выражениях при обработке кода тега для получения и замены значений аттрибутов.</p>
<ul>
  <li>&lt;img src=&quot;image.jpg&quot; width='100' height='50' /&gt; верно</li>
  <li>&lt;img src=&quot;image.jpg&quot; style=&quot;width: 100px; height: 50px;&quot; /&gt; верно</li>
  <li>&lt;img src=image.jpg width=100 height=50 /&gt; <span class="depricated">неверно</span></li>
</ul>
<h3>Подстановщики для использования в шаблонах <span class="var_name">$dr_local</span><span
				class="parm_name">[&quot;tpl_thumb&quot;]</span> и <span class="var_name">$dr_local</span><span
				class="parm_name">[&quot;tpl_lightbox&quot;]</span></h3>
<table width="100%" border="0" cellpadding="0" cellspacing="1">
<tr>
		<td width="20%" class="theader">подстановщик</td>
		<td width="80%" class="theader">значение подстановщика</td>
  </tr>
	<tr>
		<td class="placeholder">[+dr.id+]</td>
		<td>цифровой идентификатор изображения, уникальный в рамках данного документа</td>
	</tr>
	<tr>
		<td class="theader">подстановщик</td>
		<td class="theader">значение подстановщика</td>
	</tr>
	<tr>
		<td class="placeholder">[+dr.source.src+]</td>
		<td>Значение соответствующих аттрибутов исходного изображения</td>
	</tr>
	<tr>
		<td class="placeholder">[+dr.source.height+]</td>
		<td>&nbsp;</td>
	</tr>
	<tr>
		<td class="placeholder">[+dr.source.width+]</td>
		<td>&nbsp;</td>
	</tr>
	<tr>
		<td class="placeholder">[+dr.source.alt+]</td>
		<td>&nbsp;</td>
	</tr>
	<tr>
		<td class="placeholder">[+dr.source.title+]</td>
		<td>&nbsp;</td>
	</tr>
	<tr>
		<td class="placeholder">[+dr.source.class+]</td>
		<td>&nbsp;</td>
	</tr>
	<tr>
		<td class="placeholder">[+dr.source.valign+]</td>
		<td>&nbsp;</td>
	</tr>
	<tr>
		<td class="placeholder">[+dr.source.align+]</td>
		<td>&nbsp;</td>
	</tr>
	<tr>
		<td class="placeholder">[+dr.source.style+]</td>
		<td>&nbsp;</td>
	</tr>
	<tr>
		<td class="placeholder">[+dr.source.hspace+]</td>
		<td>&nbsp;</td>
	</tr>
	<tr>
		<td class="placeholder">[+dr.source.vspace+]</td>
		<td>&nbsp;</td>
	</tr>
	<tr>
		<td class="placeholder">[+dr.source.border+]</td>
		<td>&nbsp;</td>
	</tr>
	<tr>
		<td class="theader">подстановщик</td>
		<td class="theader">значение подстановщика</td>
	</tr>
	<tr>
		<td class="placeholder">[+dr.thumb.src+]</td>
		<td>Значение соответствующих аттрибутов  предпросмотра</td>
  </tr>
	<tr>
		<td class="placeholder"> [+dr.thumb.width+]</td>
		<td>&nbsp;</td>
	</tr>
	<tr>
		<td class="placeholder">[+dr.thumb.height+]</td>
		<td>&nbsp;</td>
	</tr>
	<tr>
		<td class="theader">подстановщик</td>
		<td class="theader">значение подстановщика</td>
	</tr>
	<tr>
		<td class="placeholder">[+dr.big.src+]</td>
		<td>Значение соответствущих аттрибутов  большого изображения (могут применяться только в шаблоне <span class="var_name">$dr_local</span><span
				class="parm_name">[&quot;tpl_lightbox&quot;]</span>)</td>
  </tr>
	<tr>
		<td class="placeholder"> [+dr.big.width+]</td>
		<td>&nbsp;</td>
	</tr>
	<tr>
		<td class="placeholder">[+dr.big.height+]</td>
		<td>&nbsp;</td>
	</tr>
</table>
<p>Вы можете использовать синтаксис PHx внутри шаблонов.</p>
<h3><a name="shortcuts" id="label2"></a>Сокращения</h3>

<p>Для удобства использования некоторых конструкций в шаблонах были введены <em>подстановщики-сокращения</em></p>
<table width="100%" border="0" cellpadding="0" cellspacing="1">
<tr>
		<td class="theader">сокращение</td>
		<td class="theader">значение подстановщика</td>
  </tr>
	<tr>
		<td class="placeholder">[+dr.shortcut.source2thumb+]</td>
		<td>Код исходного изображения используется в качестве шаблона, значения аттрибутов src,  width, height заменяются на <span class="placeholder">[+dr.thumb.src+]</span>, <span class="placeholder">[+dr.thumb.width+]</span>, <span class="placeholder">[+dr.thumb.height+]</span>		</td>
  </tr>
	<tr>
		<td class="placeholder">[+dr.shortcut.tpl_thumb+]</td>
		<td> Для использования в шаблоне <span class="var_name">$dr_local</span><span
			class="parm_name">[&quot;tpl_lightbox&quot;]</span>. Подставляет шаблон из <span class="var_name">$dr_local</span><span
			class="parm_name">[&quot;tpl_thumb&quot;]</span></td>
	</tr>
</table>

<p><span class="warning">Пример 1</span>: использование <span class="placeholder">[+dr.shortcut.source2thumb+]</span> в шаблоне </p>
<p><span class="var_name">$dr_local</span><span class="parm_name">[&quot;tpl_thumb&quot;]</span><span class="config_name">[&quot;all&quot;]</span> = &quot;<span class="placeholder">[+dr.shortcut.source2thumb+]</span>&quot;;</p>
<p> проще понять на наглядном примере. Если  код изображения в документе:</p>
<pre>&lt;img src=&quot;assets/images/myimage.jpg&quot; width=&quot;100&quot; class=&quot;my_css_class&quot; title=&quot;My image title&quot; align=&quot;left&quot; /&gt;</pre>
<p>то выходной код будет:</p>
<p>&lt;img src=&quot;some_path/thumb_myimage.jpg&quot; width=&quot;80&quot; class=&quot;my_css_class&quot; title=&quot;My image title&quot; align=&quot;left&quot; /&gt;</p>
<p>Плагин взял исходное изображение в качестве шаблона, заменил путь в аттрибуте src на путь к предпросмотру, подставил расчитанный аттрибут width предпросмотра. Остальные аттрибуты полностью сохранены и перенесены из исходного изображения.</p>
<p>Для данного  изображения это аналогично использованию шаблона:</p>
<p><span class="var_name">$dr_local</span><span class="parm_name">[&quot;tpl_thumb&quot;]</span><span class="config_name">[&quot;all&quot;]</span> = '&lt;img src=&quot;<span class="placeholder">[+dr.thumb.src+]</span>&quot; width=&quot;<span class="placeholder">[+dr.thumb.width+]</span>&quot; class=&quot;<span class="placeholder">[+dr.source.class+]</span>&quot; title=&quot;<span class="placeholder">[+dr.source.title+]</span>&quot; align=&quot;<span class="placeholder">[+dr.source.align+]</span>&quot; /&gt;';</p>
<p>но для каждого конкретного изображения набор аттрибутов в выходном изображении зависит от набора аттрибутов исходного изображения.</p>
<p>С помощью данного сокращения все аттрибуты автоматически переносятся из исходного изображения в предпросмотр.</p>
<p><span class="warning">Пример 2</span>: использование <span class="placeholder">[+dr.shortcut.tpl_thumb+]</span> в шаблоне </p>
<pre><span class="var_name">$dr_local</span><span class="parm_name">[&quot;tpl_thumb&quot;]</span><span class="config_name">[&quot;all&quot;]</span> = '&lt;img src=&quot;<span class="placeholder">[+dr.thumb.src+]</span>' width=&quot;<span class="placeholder">[+dr.thumb.width+]</span>&quot; height=&quot;<span class="placeholder">[+dr.thumb.height+]</span>&quot; alt=&quot;<span class="placeholder">[+dr.source.alt+]</span>&quot; /&gt;';

<span class="var_name">$dr_local</span><span class="parm_name">[&quot;tpl_lightbox&quot;]</span><span class="config_name">[&quot;all&quot;]</span> = '
&lt;a href=&quot;<span class="placeholder">[+dr.big.src+]</span>&quot; rel=&quot;lightbox&quot;&gt;<span class="placeholder">
	[+dr.shortcut.tpl_thumb+]</span>
&lt;/a&gt;';  </pre>

<p>аналогично </p>
<span class="var_name">$dr_local</span><span class="parm_name">[&quot;tpl_thumb&quot;]</span><span class="config_name">[&quot;all&quot;]</span> = '&lt;img src=&quot;<span class="placeholder">[+dr.thumb.src+]</span>' width=&quot;<span class="placeholder">[+dr.thumb.width+]</span>&quot; height=&quot;<span class="placeholder">[+dr.thumb.height+]</span>&quot; alt=&quot;<span class="placeholder">[+dr.source.alt+]</span>&quot; /&gt;';
<pre><span class="var_name">$dr_local</span><span class="parm_name">[&quot;tpl_lightbox&quot;]</span><span class="config_name">[&quot;all&quot;]</span> = '
&lt;a href=&quot;<span class="placeholder">[+dr.big.src+]</span>&quot; rel=&quot;lightbox&quot;&gt;
	&lt;img src=&quot;<span class="placeholder">[+dr.thumb.src+]</span>' width=&quot;<span class="placeholder">[+dr.thumb.width+]</span>&quot; height=&quot;<span class="placeholder">[+dr.thumb.height+]</span>&quot; alt=&quot;<span class="placeholder">[+dr.source.alt+]</span>&quot; /&gt;
&lt;/a&gt;';
</pre>

<h2><a name="label" id="label"></a>Метки</h2>
<p><em>Метка</em>, в терминологии  плагина DirectResize - специальное слово (или часть слова), которое используется при редактировании документа и может встречаться внутри тега img в любом месте:
	внутри атрибутов или вне их и является управляющим для некоторых действий над данным изображением (и только над ним).</p>
<p>Пример изображений с меткой <span class="label">drmylabel</span><span class="label"></span></p>
<ul>
	<li>&lt;img src=&quot;image.jpg&quot; alt=&quot;<span class="label">drmylabel</span>&quot; /&gt;</li>
	<li>&lt;img src=&quot;image.jpg&quot; title = &quot;<span class="label">drmylabel</span> picture&quot; /&gt;</li>
	<li>&lt;img src=&quot;image.jpg&quot; class = &quot;<span class="label">drmylabel</span>_align_left&quot; /&gt;</li>
	<li>&lt;img src=&quot;image.jpg&quot; style = &quot;background: url(<span class="label">drmylabel</span>_bg.gif);&quot; /&gt;</li>
	<li>&lt;img src=&quot;assets/images/my<span class="label">drmylabel</span>picture.jpg&quot; /&gt;</li>
	<li>и даже &lt;img src=&quot;image.jpg&quot;<span class="label"> drmylabel</span> /&gt;</li>
</ul>
<p>В выходном коде все управляющие метки, а так же все символы пробелов слева и справа от метки удаляются. Поэтому избегайте использования названий служебных меток в именах файлов и папок - часть имени будет просто удалена.</p>
<p>Вы можете использовать метки в любой, удобной для вас части тега, однако рекомендуемым способом являются указанные в строках 1 и 2, когда название метки находится внутри любого из аттрибутов и отделено от других значений знаками пробела. </p>
<p><strong>Внимание: </strong>не используйте метки вне аттрибутов (последний пример), если вы используете визуальный редактор, т.к. в этом случае метки будут удалены самим редактором как ошибочный html-код.</p>
<table width="100%" border="0" cellpadding="0" cellspacing="1">
	<tr>
		<td width="20%" class="theader">метка</td>
		<td width="80%" class="theader">описание</td>
	</tr>
	<tr>
		<td><span class="label">drskip</span></td>
		<td>Плагин полностью пропускает обработку данного изображения</td>
	</tr>
	<tr>
		<td class="label">drthumbonly</td>
		<td>Для данного изображения генерируется только предпросмотр (используется только шаблон <span class="var_name">$dr_global</span><span class="parm_name">[&quot;tpl_thumb&quot;]</span>)</td>
	</tr>
	<tr>
		<td class="label">drconfig_myconfig</td>
		<td>Указывает использовать для изображения набор параметров <span class="config_name">[&quot;myconfig&quot;]</span> из файла конфигурации. Используйте  только латинские буквы и цифры в названии набора параметров. Не используйте другие символы - они не будут включены в название. <a href="#bindings_priority">См. также</a>.</td>
	</tr>
</table>
<p>Метка <span class="label">drlightbox</span> из ранних версий <span class="depricated">удалена </span>и более не используется.</p>
<h2><a name="furl" id="bindings_priority2"></a>Дружественные URL<span class="parm_name"></span></h2>
<p>Использование библиотеки PHPThumb в новой версии DirectResize привело к появлению множества дополнительных функций и позволило значительно упростить код самого плагина. Однако отрицательной стороной стало  удлиннение выходного кода изображения, т.к. все параметры для генерации изображения средствами PHPThumb передаются через URL и содержаться в самом выходном коде.</p>
<p>Довольно громоздко:</p>
&lt;img src=&quot;http://mysite.com/image.php?&amp;src=assets/images/my_image.jpg&amp;h=166&amp;w=249&amp;fltr[]=crop|0|0|32|31&amp;fltr[]=wmt|Watermark%3A+%5EFkkb|5||FFFFFF|assets/olympix.ttf|100||0|111111|80|x&amp;f=jpg&amp;sia=thumb_my_image.jpg&amp;hash=d703aab8dfc241203a9f1f804e557ec4&quot; width=&quot;120&quot; height=&quot;90&quot; /&gt;<br />
<p>
Поэтому в плагине был реализованы дружественные URL, которые позволили сократить код: </p>
&lt;img src=&quot;images/05c67821798e457c4b2d5cde0cd200e2/my_image.jpg&quot; width=&quot;120&quot; height=&quot;90&quot; /&gt;
<h3>Как это работает</h3>
<p>При первоначальной генерации страницы плагин сохраняет весь  список параметров  PHPThumb в сессию каждый со своим идентификатором. На сайте выводится лишь URL c идентификатором и именем оригинального файла. </p>
<p>При отображении на сайте все URL, попадающие под определенный шаблон, обрабатываются скриптом, который извлекает идентификатор из URL, а по нему и первоначальный список параметров - из сессии. Затем  скрипт через 301 редирект  перенаправляет на файл PHPThumb, который генерирует нужное изображение по заданным параметрам.</p>
<p>Данный способ лишь приводит вид URL к более удобному виду и не является способом скрыть URL изначального изображения, который можно проследить по HTTP-заголовкам. </p>
<p>В то же время это является некоторой защитой от личеров - изображения недоступны по прямым ссылкам images/05c67821798e457c4b2d5cde0cd200e2/my_image.jpg до тех пор пока не запрошена страница сайта с изображения и реальные пути не сохранены в сессию.</p>
<h3><a name="furl_config" id="bindings_priority4"></a>Настройка</h3>
<p>Вы можете отключить использование дружественных URL на вашем сайте, что немного увеличит производительность за счет исключение лишних обработок и перенаправлений на каждое генерируемое изображение. </p>
<p>Если вы решили использовать  дружественные URL  плагина, необходимо выполнить следующие действия.</p>
<p>В файле .htaccess раскомментировать инструкции (если вы используете семантические URL MODx на вашем сайте, это уже сделано):</p>
<pre>RewriteEngine On
RewriteBase /</pre>
<p>После этих строк, но перед строками:</p>
<pre># The Friendly URLs part
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]</pre>
<p>добавить:</p>
<pre># DirectResize  Friendly URLs part
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^images/([a-z0-9]{32})/.*\.(png|gif|jpe{0,1}g)$ assets/plugins/directresize/furl.php?q=$1 [NC,L,QSA]</pre>
<p>Вы можете изменить images/ в данном выражении на любой префикс, который вам подходит. В этом случае необходимо поменять так же значение параметра <span class="var_name">$dr_global</span><span class="parm_name">[&quot;furl_prefix&quot;]</span>.</p>
<p>Например:</p>
<pre>RewriteRule ^project/i/([a-z0-9]{32})/.*\.(png|gif|jpe{0,1}g)$ assets/plugins/directresize/furl.php?q=$1 [NC,L,QSA]</pre>
<p>и <span class="var_name">$dr_global</span><span class="parm_name">[&quot;furl_prefix&quot;]</span> = &quot;project/i/&quot;;</p>
<p>В этом случае выходные коды изображений будут такими:</p>
&lt;img src=&quot;project/i/05c67821798e457c4b2d5cde0cd200e2/my_image.jpg&quot; width=&quot;120&quot; height=&quot;90&quot; /&gt;
<h2>Соответствие между параметрами конфигурации версий 0.8 и 0.9</h2>
<p>Новая версия DirectResize не имеет обратной совместимости с версией 0.8. Если вы использовали стандартные пакеты конфигураций без каких-либо изменений, у вас не будет сложности при переходе на новую версию. Однако, в новой версии из стандартных пакетов конфигурация были исключены lightboxv2, slidebox. Если вы использовали данные эффекты, вы можете самостоятельно интегрировать их вновь, либо заменить на аналогичные из стандартных.</p>
<p>В данной таблице приведено соотвествие между названиями параметрамов в новой и старой версии.</p>
<table width="100%" border="0" cellpadding="0" cellspacing="1">
	<tr>
		<td width="20%" class="theader"> версия 0.8</td>
		<td width="20%" class="theader"> версия 0.9</td>
	</tr>
	<tr>
		<td>$lightbox_mode</td>
		<td><span class="depricated">не используется</span></td>
	</tr>
	<tr>
		<td>$allow_from</td>
		<td><span class="var_name">$dr_global</span><span class="parm_name">[&quot;path&quot;]</span></td>
	</tr>
	<tr>
		<td>$deny_from</td>
		<td><span class="var_name">$dr_global</span><span class="parm_name">[&quot;path&quot;]</span></td>
	</tr>
	<tr>
		<td>$allow_from_allremote</td>
		<td><span class="var_name">$dr_global</span><span class="parm_name">[&quot;path&quot;]</span></td>
	</tr>
	<tr>
		<td>$resize_method</td>
		<td><span class="var_name">$dr_local</span><span class="parm_name">[&quot;thumb_resize_method&quot;]<br />
			<span class="var_name">$dr_local</span>[&quot;big_resize_method&quot;]</span></td>
	</tr>
	<tr>
		<td>$big_quality</td>
		<td><span class="var_name">$dr_local</span><span class="parm_name">[&quot;big_quality&quot;]</span></td>
	</tr>
	<tr>
		<td>$thumb_quality</td>
		<td><span class="var_name">$dr_local</span><span class="parm_name">[&quot;thumb_quality&quot;]</span></td>
	</tr>
	<tr>
		<td>$wysiwyg_quality</td>
		<td><span class="depricated">не используется</span>. заменен на общий параметр <span class="depricated"><span class="var_name">$dr_local</span><span class="parm_name">[&quot;thumb_quality&quot;]</span></span></td>
	</tr>
	<tr>
		<td>$big_width</td>
		<td><span class="var_name">$dr_local</span><span class="parm_name">[&quot;big_width&quot;]</span></td>
	</tr>
	<tr>
		<td>$big_height</td>
		<td><span class="var_name">$dr_local</span><span class="parm_name">[&quot;big_height&quot;]</span></td>
	</tr>
	<tr>
		<td>$thumb_default_width</td>
		<td><span class="var_name">$dr_local</span><span class="parm_name">[&quot;thumb_width&quot;]</span></td>
	</tr>
	<tr>
		<td>$thumb_default_height</td>
		<td><span class="var_name">$dr_local</span><span class="parm_name">[&quot;thumb_height&quot;]</span></td>
	</tr>
	<tr>
		<td>$thumb_default_sizemode</td>
		<td><span class="var_name">$dr_local</span><span class="parm_name">[&quot;thumb_use_defaults&quot;]</span></td>
  </tr>
	<tr>
		<td>$remote_refresh_time</td>
		<td><span class="depricated">не используется</span></td>
	</tr>
	<tr>
		<td>$tpl</td>
		<td><span class="var_name">$dr_local</span><span class="parm_name">[&quot;tpl_thumb&quot;]</span><span class="var_name"><br />
		$dr_local</span><span class="parm_name">[&quot;tpl_lightbox&quot;]</span></td>
	</tr>
	<tr>
		<td>$language</td>
		<td><span class="depricated">не используется</span>, используйте <a href="#i18n">свои обработчики</a> в файле конфигурации для подключения нужных языковых файлов и параметров</td>
	</tr>
	<tr>
		<td>$header</td>
		<td><span class="var_name">$dr_local</span><span class="parm_name">[&quot;header&quot;]</span></td>
	</tr>
	<tr>
		<td>$maxigallery_jscss_packs</td>
		<td><span class="depricated">не используется</span></td>
	</tr>
	<tr>
		<td class="theader">версия 0.8</td>
		<td class="theader">версия 0.9</td>
	</tr>
	<tr>
		<td>$use_ftp_commands</td>
		<td><span class="depricated">не используется</span></td>
	</tr>
	<tr>
		<td>$ftp_server</td>
		<td><span class="depricated">не используется</span></td>
	</tr>
	<tr>
		<td>$ftp_user</td>
		<td><span class="depricated">не используется</span></td>
	</tr>
	<tr>
		<td>$ftp_pass</td>
		<td><span class="depricated">не используется</span></td>
	</tr>
	<tr>
		<td>$ftp_base_dir</td>
		<td><span class="depricated">не используется</span></td>
	</tr>
	<tr>
		<td>$ftp_port</td>
		<td><span class="depricated">не используется</span></td>
	</tr>
	<tr>
		<td>$thumb_use_watermark</td>
		<td><span class="var_name">$dr_local</span><span class="parm_name">[&quot;thumb_watermark_type&quot;]</span></td>
	</tr>
	<tr>
		<td>$thumb_watermark_font</td>
		<td><span class="var_name">$dr_local</span><span class="parm_name">[&quot;thumb_watermark_font_size&quot;]</span></td>
	</tr>
	<tr>
		<td>$thumb_watermark_halign </td>
		<td><span class="var_name">$dr_local</span><span class="parm_name">[&quot;thumb_watermark_align&quot;]</span></td>
	</tr>
	<tr>
		<td>$thumb_watermark_img </td>
		<td><span class="var_name">$dr_local</span><span class="parm_name">[&quot;thumb_watermark_img&quot;]</span></td>
	</tr>
	<tr>
		<td>$thumb_watermark_txt</td>
		<td><span class="var_name">$dr_local</span><span class="parm_name">[&quot;thumb_watermark_text&quot;]</span></td>
	</tr>
	<tr>
		<td>$thumb_watermark_txt_color </td>
		<td><span class="var_name">$dr_local</span><span class="parm_name">[&quot;thumb_watermark_text_color&quot;]</span></td>
	</tr>
	<tr>
		<td>$thumb_watermark_txt_hmargin</td>
		<td><span class="var_name">$dr_local</span><span class="parm_name">[&quot;thumb_watermark_margin&quot;]</span></td>
	</tr>
	<tr>
		<td>$thumb_watermark_txt_vmargin </td>
		<td><span class="var_name">$dr_local</span><span class="parm_name">[&quot;thumb_watermark_margin&quot;]</span></td>
	</tr>
	<tr>
		<td>$big_use_watermark</td>
		<td><span class="var_name">$dr_local</span><span class="parm_name">[&quot;big_watermark_type&quot;]</span></td>
	</tr>
	<tr>
		<td>$big_watermark_font</td>
		<td><span class="var_name">$dr_local</span><span class="parm_name">[&quot;big_watermark_font_size&quot;]</span></td>
	</tr>
	<tr>
		<td>$big_watermark_halign </td>
		<td><span class="var_name">$dr_local</span><span class="parm_name">[&quot;big_watermark_align&quot;]</span></td>
	</tr>
	<tr>
		<td>$big_watermark_img </td>
		<td><span class="var_name">$dr_local</span><span class="parm_name">[&quot;big_watermark_img&quot;]</span></td>
	</tr>
	<tr>
		<td>$big_watermark_txt</td>
		<td><span class="var_name">$dr_local</span><span class="parm_name">[&quot;big_watermark_text&quot;]</span></td>
	</tr>
	<tr>
		<td>$big_watermark_txt_color </td>
		<td><span class="var_name">$dr_local</span><span class="parm_name">[&quot;big_watermark_text_color&quot;]</span></td>
	</tr>
	<tr>
		<td>$big_watermark_txt_hmargin</td>
		<td><span class="var_name">$dr_local</span><span class="parm_name">[&quot;big_watermark_margin&quot;]</span></td>
	</tr>
	<tr>
		<td>$big_watermark_txt_vmargin </td>
		<td><span class="var_name">$dr_local</span><span class="parm_name">[&quot;big_watermark_margin&quot;]</span></td>
	</tr>
</table>
<h2>Наложение водяного знака на предпросмотр в режиме WYSIWYG</h2>
<p>В новой версии DirectResize было принято решение отказаться от наложения специальных водяных знаков в визуальном редакторе. Если эта функция вам необходима, вы можете использовать собственный обработчик в файле конфигурации. </p>
<p class="warning">Пример</p>
<pre>if ($modx-&gt;isBackend())
{
	<span class="var_name">$dr_local</span><span class="parm_name">[&quot;thumb_quality&quot;]</span><span class="config_name">[&quot;all&quot;]</span> = 10;
	<span class="var_name">$dr_local</span><span class="parm_name">[&quot;thumb_watermark_type&quot;]</span><span class="config_name">[&quot;all&quot;]</span> = &quot;text&quot;;
	<span class="var_name">$dr_local</span><span class="parm_name">[&quot;thumb_watermark_text&quot;]</span><span class="config_name">[&quot;all&quot;]</span> = &quot;WYSIWYG image&quot;;

}
</pre>
<p>Все предпросмотры в визуальном редакторе будут иметь пониженное jpeg-качество  и водяной знак с текстом &quot;WYSIWYG image&quot;.<br>
</p>
<h2><a name="i18n" id="i18n"></a>i18n (интернационализация)</h2>
<p>В новой версии DirectResize было принято решение отказаться от параметра $language и от встроенной поддержки мультиязычности, т.к. в данный момент MODx не поддерживает мультиязычность на уровне ядра.</p>
<p>Однако вы можете писать свои собственные обработчики в коде файлов конфигурации в зависимости от того, каким образом мультиязычность реализована на вашем сайте.</p>
<p>Предположим, что в переменной $_SESSION[&quot;lang&quot;] всегда находится код выбранного в данный момент языка. В этом случае вы можете подключать дополнительные файлы в зависимости от установленного языка:</p>
<pre><span class="var_name">$dr_local</span><span class="parm_name">[&quot;header&quot;]</span><span class="config_name">[&quot;all&quot;]</span> = '
&lt;link rel=&quot;stylesheet&quot; href=&quot;'.DIRECTRESIZE_PATH.'libs/slidebox/style.css&quot; type=&quot;text/css&quot; media=&quot;screen&quot; /&gt;
&lt;script type=&quot;text/javascript&quot; src=&quot;'.DIRECTRESIZE_PATH.'libs/slidebox/slidebox_setup.js&quot;&gt;&lt;/script&gt;
&lt;script type=&quot;text/javascript&quot; src=&quot;'.DIRECTRESIZE_PATH.'libs/slidebox/prototype.js&quot;&gt;&lt;/script&gt;
&lt;script type=&quot;text/javascript&quot; src=&quot;'.DIRECTRESIZE_PATH.'libs/slidebox/slidebox.js&quot;&gt;&lt;/script&gt;
';

if ( $_SESSION[&quot;lang&quot;] == &quot;ru&quot;){
	<span class="var_name">$dr_local</span><span class="parm_name">[&quot;header&quot;]</span><span class="config_name">[&quot;all&quot;]</span> .= '&lt;script type=&quot;text/javascript&quot; src=&quot;'.DIRECTRESIZE_PATH.'lang/russian.slidebox.js&quot;&gt;&lt;/script&gt;';
}else{
	<span class="var_name">$dr_local</span><span class="parm_name">[&quot;header&quot;]</span><span class="config_name">[&quot;all&quot;]</span> .= '&lt;script type=&quot;text/javascript&quot; src=&quot;'.DIRECTRESIZE_PATH.'lang/english.slidebox.js&quot;&gt;&lt;/script&gt;';
}
</pre>


<h2>В планах</h2>
<ul><li>Наборы параметров, привязанные к определенным документам и их потомкам (а нужно ли?)</li>
	<li>Доступ к другим возможностям PHPThumb через конфигурацию DirectResize</li>
</ul>
<h2>Ссылки проекта</h2>
<p>Адрес проекта на  google code: <a
	href="http://code.google.com/p/directresize-modx/" target="_blank">http://code.google.com/p/directresize-modx/</a>
</p>
<p>SVN-репозиторий (веб-браузер или SVN-клиент): <a
	href="http://directresize-modx.googlecode.com/svn/trunk/"
	target="_blank">http://directresize-modx.googlecode.com/svn/trunk/</a></p>
<p>Ошибки и пожелания : <a
	href="http://code.google.com/p/directresize-modx/issues/"
	target="_blank">http://code.google.com/p/directresize-modx/issues/</a>
</p>
<p>Последняя стабильная версия в официальном репозитории MODx: <a href="http://modxcms.com/DirectResize-1802.html" target="_blank">http://modxcms.com/DirectResize-1802.html
</a></p>

<h3>Java-script библиотеки: ошибки и настройка</h3>
<p>Пожалуйста, не задавайте вопросов, как настроить вывод изображений при помощи той или иной ява-скриптовой библиотеки, даже если она идет в комплекте с DirectResize. Не сообщайте об ошибках, которые возникают при работе этих библиотек.</p>
<p>Я знаю не больше вас. По всем вопросам относительно ошибок и кастомизации той или иной ява-скриптовой библиотеки обращайтесь непосредственно к разработчикам. Все ссылки приведены в разделе &quot;Благодарности&quot;.</p>
<h2>История версий</h2>
<h3>0.8.0b</h3>
<p>Первый релиз</p>
<h3>0.8.0</h3>
<p>* Ошибка когда файлы имеют одинаковые имена, но из разных папок<br />
  * Ошибка при использовании плагина и Maxigallery в одном документе<br />
  *  Имена меток изменены на drlightbox и drthumbonly. Т.к. метки удаляются  из выходного кода, название метки lightbox не позволяло использовать в  шаблоне слово lightbox (например rel=&quot;lightbox&quot;)<br />
  * Ошибка &quot;Fatal  error: Call to undefined function: size() in  ...assets\plugins\directresize\directResize.php on line 141&quot;  которую  вызывал плагин, когда файл изображения, указанный в обрабатываемом  плагином теге IMG не найден<br />
  * Не создаются lightbox-ссылки при использовании lightbox_mode = 1 и метки &quot;drlightbox&quot; <br />
  + Новая метка &quot;drskip&quot;, изображения с этой меткой не обрабатываются плагином<br />
  * Ошибка при использовании gif-изображений в документах<br />
  * Ошибка с командами фтп<br />
  + добавлены плейсхолдеры для подстановки style, align, valign исходного изображения<br />
  + добавлена поддержка и корректная работа с абсолютными путями изображений<br />
  +  Новый параметр $allow_from_allremote позволяет разрешить использование  плагина для всех изображений с удаленных источников, без необходимости  перечислять их в параметре $allow_from<br />
  * Highslide обновлен до версии 3.0.6<br />
  + Добавлены стандартные пакеты конфигураций для slimbox, slidebox, lightbox v2</p>
<h3>0.8.0.1</h3>
<p>* Ошибка при совместном использовании $thumb_default_sizemode = 4 и метки drthumbonly<br />
  + Добавлена секция &quot;Быстрый старт&quot; и другие небольшие изменения в документации</p>
<h3>0.8.0.2</h3>
<p> * Ошибка, не создавались предпросмотры при использовании визуального режима TinyMCE<br />
  * Ошибка, когда пропадали метки при использовании визуального режима TinyMCE<br />
  + Удаление лишних пробелов после удаления меток из исходного кода (но только один пробел удаляется до или после метки)</p>
<h3>0.8.0.3 (не была публично реализована)</h3>
<p> * найдены откусанные плюсики в плейсхолдерах при сохранении документа<br />
  * водяной знак корректно накладывается на большие изображения<br />
  +  добавлены плейсхолдеры для подстановки hspace, vspace исходного изображения<br />
</p>
<h3>0.9.0 (Rev 1)</h3>
<p>+ изображения генерируются и кешируются средствами библиотеки PHPThumb<br />
  + полностью переписанно ядро плагина<br />
  + появление наборов параметров, привязанных к различным группам изображений<br />
  + много других изменений и дополнений</p>
<h2>Коммерческое использование</h2>
<p>Плагин DirectResize использует серию дополнительных скриптов (список и ссылки приведены в разделе &quot;Благодарности&quot;), которые имеют особые условия в случае их коммерческого использования. Условия коммерческого использования читайте на соотвествующих сайтах.</p>
<h2><a name="thanks" id="thanks"></a>Благодарности </h2>
<p>Данный плагин основан на идее автора предыдущих версий DirectResize - <em><a href="http://modxcms.com/forums/index.php?action=profile;u=9216" target="_blank">alphanono</a></em>. </p>
<p>В основе основ плагина версий 0.9+ - отличная библиотека <a href="http://phpthumb.sourceforge.net/" target="_blank">PHPThumb</a> от <em>James Heinrich</em></p>
<p>Плагин использует <a href="http://simplehtmldom.sourceforge.net/" target="_blank">PHP Simple HTML DOM Parser</a> от <em>S.C. Chen</em></p>
<p>В плагине версии 0.8 использовались части кода и части документации сниппета Maxigallery от <em><a href="http://modxcms.com/forums/index.php?action=profile;u=4940" target="_blank">doze</a></em>.</p>
<p>Плагин использует Chunkie class и PHx парсер от <em><a href="http://modxcms.com/forums/index.php?action=profile;u=4162" target="_blank">bS</a></em></p>
<p>Плагин версии 0.8 использовал <a href="http://www.phpclasses.org/browse/package/2086.html" target="_blank">Thumbnail and Watermark Class</a> от <em>Emilio Rodriguez</em><br />
</p>
<p>Для показа увеличенных изображений используются ява-скритовые библиотеки:</p>
<ul>
	<li>  <a href="http://highslide.com/" target="_blank">Highslide JS</a>  от <em>Torstein Hønsi</em></li>
	<li><a href="http://jquery.com/demo/thickbox/" target="_blank">Thickbox</a> от  <em>Cody Lindley</em></li>
    <li><a href="http://fancy.klade.lv/" target="_blank">Fancybox</a> от <em>Janis Skarnelis</em></li>
    <li><a href="http://nyromodal.nyrodev.com/" target="_blank">nyroModal</a> от <em>Cedric Nirousset</em></li>
    <li><a href="http://www.digitalia.be/software/slimbox" target="_blank">Slimbox</a> от <em>Christophe Beyls</em></li>
    <li>      <a href="http://www.weebbox.com/" target="_blank">WeebBox</a> от <em>Weeb</em></li>
</ul>
<p>на базе ява-скриптовых фреймворков:</p>
<ul>
  <li><a href="jquery.com" target="_blank">jQuery</a> 1.2.6 от <em>John Resig</em></li>
  <li><a href="http://mootools.net" target="_blank">MooTools</a> 1.2.1 от <em>Valerio Proietti</em></li>
  <li><a href="http://script.aculo.us" target="_blank">script.aculo.us</a> 1.8.1 от <em>Thomas Fuchs</em></li>
  <li><a href="http://www.prototypejs.org/" target="_blank">Prototype</a> 1.6.0.2 от <em>Sam Stephenson </em></li>
</ul>
<p>Перевод данной документации на английский язык сделал <em><a href="http://modxcms.com/forums/index.php?action=profile;u=5406" target="_blank">Fuzzy</a></em> из русскоязычного MODx сообщества.</p>
<p>Спасибо всем кто помогал искать ошибки и придумывал новые идеи для плагина.</p>
<p>Спасибо!</p>
<p><em><a href="http://modxcms.com/forums/index.php?action=profile;u=7586" target="_blank">Metaller</a> (<a href="mailto:metaller.ru@gmail.com">metaller.ru@gmail.com</a>)</em></p>
<p>&nbsp;</p>
</body>
</html>

